home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / craps.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-04-04  |  8.1 KB  |  255 lines

  1. 10  ON KEY(1) GOSUB 840
  2. 20  ON KEY(2) GOSUB 840
  3. 30  ON KEY(3) GOSUB 840
  4. 40  ON KEY(4) GOSUB 840
  5. 50  ON KEY(5) GOSUB 840
  6. 60  ON KEY(6) GOSUB 840
  7. 70  ON KEY(7) GOSUB 840
  8. 80  ON KEY(8) GOSUB 840
  9. 90  ON KEY(9) GOSUB 840
  10. 100  FOR A=1 TO 9:KEY(A) ON:NEXT
  11. 110  COLOR 3,0,0:WIDTH 80:SCREEN 0,0,0:LOCATE ,,0
  12. 120  KEY OFF:CLS:DEFSTR A:H=10:H1=1
  13. 130  KEY(10) ON:ON KEY(10) GOSUB 2100
  14. 140  GOSUB 1450:GOSUB 1340:GOSUB 850
  15. 150  GOSUB 2150:GOSUB 2230
  16. 160  IF H<1 THEN GOSUB 1830
  17. 170  IF H+H1*10>100 THEN 2510
  18. 180  GOSUB 310:GOSUB 1210:GOSUB 830
  19. 190  K=INT(C+D):IF K=7 OR K=11 THEN IF P=0 THEN 580 ELSE 680
  20. 200  IF K=2 OR K=3 OR K=12 THEN IF P=0 THEN 680 ELSE 580
  21. 210  LOCATE 2,29:PRINT "   THE POINT IS"K"    "
  22. 220  J=7
  23. 230  IF INKEY$<>"" THEN 230
  24. 240  J$=INKEY$:IF J$="" THEN 240
  25. 250  LOCATE 3,J*4+10:PRINT A2;
  26. 260  GOSUB 1210
  27. 270  J=INT(C+D):COLOR 15:LOCATE 3,J*4+10:PRINT A1;:COLOR 3,0
  28. 280  IF J=K THEN IF P=1 THEN 720 ELSE 660
  29. 290  IF J=7 THEN IF P=0 THEN 720 ELSE 660
  30. 300  GOTO 230
  31. 310  LOCATE 21,24:PRINT SPC(35)
  32. 320  LOCATE 21,24:COLOR 15
  33. 330  PRINT "Bet on `PASS' or `DON'T PASS' <P/D>?";:COLOR 3,0
  34. 340  IF INKEY$<>"" THEN 340
  35. 350  J$=INKEY$:IF J$="" THEN 350
  36. 360  IF J$="P" OR J$="p" THEN P=0:GOTO 400
  37. 370  IF J$="D" OR J$="d" THEN P=1:GOTO 400
  38. 380  LOCATE 23,21:PRINT "Strike <P> For PASS or <D> For DON'T PASS";
  39. 390  FOR F=1 TO 2000:NEXT:LOCATE 23,20:PRINT SPC(42):GOTO 350
  40. 400  COLOR 15
  41. 410  IF P THEN LOCATE 13,60:PRINT "**":LOCATE 13,32:PRINT "  ";:GOTO 430
  42. 420  LOCATE 13,32:PRINT "**":LOCATE 13,60:PRINT "  "
  43. 430  COLOR 3,0:LOCATE 20,1:PRINT SPC(62):LOCATE 21,1:PRINT SPC(64)
  44. 440  LOCATE 21,30:PRINT "Place Your Bets Please"
  45. 450  GOSUB 1720
  46. 460  IF G>0 THEN 490
  47. 470  LOCATE 23,23:PRINT "Please Bet An Amount Greater Than Zero";
  48. 480  FOR F=1 TO 4000:NEXT:LOCATE 23,23:PRINT SPC(40):GOTO 450
  49. 490  IF G=<H+H1*10 THEN 520
  50. 500  LOCATE 23,15:PRINT "Hey, I Ain't Stupid! You Don't Have That Much."
  51. 510  FOR F=1 TO 2500:NEXT:LOCATE 23,15:PRINT SPC(45):GOTO 450
  52. 520  LOCATE 21,1:PRINT SPC(62)
  53. 530  H=H-G:GOSUB 2230:LOCATE 10,69:COLOR 15
  54. 540  PRINT USING "$$#####,.##";H*100+H1*1000:COLOR 3,0
  55. 550  LOCATE 2,29:PRINT"***** COMING OUT *****"
  56. 560  LOCATE 22,10:PRINT SPC(50):LOCATE 15,8+P*20+9:GOSUB 2310
  57. 570  RETURN
  58. 580  LOCATE 23,10:PRINT SPC(50):LOCATE 23,37:PRINT "YOU WIN";
  59. 590  H=H+2*G
  60. 600  REM******** WERE IN THE MONEY
  61. 610  PLAY "MN T120"
  62. 620  PLAY "O3 P8 O2E8 O2G8. O2E16 F8 G4."
  63. 630  'PLAY "O3 P8 O2E8 O2G8. O2E16 F8 G4."
  64. 640  G=G*2
  65. 650  GOTO 700
  66. 660  LOCATE 23,10:PRINT SPC(50):LOCATE 23,37:PRINT "You Win!";
  67. 670  GOTO 590
  68. 680  LOCATE 23,10:PRINT SPC(50):LOCATE 23,32:PRINT "Sorry, You Lose.
  69. 690  FOR F=1 TO 8:SOUND 50,1:SOUND 37,1:SOUND 40,1:NEXT
  70. 700  GOSUB 2200
  71. 710  GOTO 740
  72. 720  LOCATE 23,10:PRINT SPC(50):LOCATE 23,32:PRINT "Sorry, You Lose.
  73. 730  GOTO 690
  74. 740  LOCATE 10,69:COLOR 15:PRINT USING "$$#####,.##";H*100+H1*1000:COLOR 3,0
  75. 750  FOR F=1 TO 1000:NEXT
  76. 760  LOCATE 2,29:PRINT SPC(25)
  77. 770  LOCATE 3,K*4+10:PRINT A2;
  78. 780  LOCATE 3,(C+D)*4+10:PRINT A2;
  79. 790  LOCATE 15,10:PRINT SPC(50)
  80. 800  LOCATE 22,10:PRINT SPC(50)
  81. 810  LOCATE 23,10:PRINT SPC(50)
  82. 820  GOTO 160
  83. 830  LOCATE 3,(C+D)*4+10:PRINT A1;
  84. 840  RETURN
  85. 850  LOCATE 1,15:PRINT CHR$(201) STRING$(50,205) CHR$(187)
  86. 860  FOR B=2 TO 13
  87. 870      LOCATE B,15:PRINT CHR$(186):LOCATE B,66:PRINT CHR$(186)
  88. 880  NEXT
  89. 890  LOCATE 12,15
  90. 900  PRINT CHR$(204) STRING$(24,205) CHR$(203) STRING$(25,205) CHR$(185)
  91. 910  LOCATE 14,15
  92. 920  PRINT CHR$(200) STRING$(24,205) CHR$(202) STRING$(25,205) CHR$(188)
  93. 930  LOCATE 13,40:PRINT CHR$(186)
  94. 940  LOCATE 13,16:PRINT "         PASS":LOCATE 13,41:PRINT "       DON'T PASS"
  95. 950  LOCATE 10,69:COLOR 15:PRINT USING "$$#####,.##";H*100+H1*1000:COLOR 3,0
  96. 960  LOCATE 4,16:PRINT "    2   3   4   5   6   7   8   9  10  11  12
  97. 970  LOCATE 6,31:PRINT CHR$(218) STRING$(7,196) CHR$(191)
  98. 980  LOCATE 6,41:PRINT CHR$(218) STRING$(7,196) CHR$(191)
  99. 990  LOCATE 7,31:PRINT CHR$(179):LOCATE 7,39:PRINT CHR$(179)
  100. 1000  LOCATE 7,41:PRINT CHR$(179):LOCATE 7,49:PRINT CHR$(179)
  101. 1010  LOCATE 8,31:PRINT CHR$(179):LOCATE 8,39:PRINT CHR$(179)
  102. 1020  LOCATE 8,41:PRINT CHR$(179):LOCATE 8,49:PRINT CHR$(179)
  103. 1030  LOCATE 9,31:PRINT CHR$(179):LOCATE 9,39:PRINT CHR$(179)
  104. 1040  LOCATE 9,41:PRINT CHR$(179):LOCATE 9,49:PRINT CHR$(179)
  105. 1050  LOCATE 10,31:PRINT CHR$(192) STRING$(7,196) CHR$(217)
  106. 1060  LOCATE 10,41:PRINT CHR$(192) STRING$(7,196) CHR$(217)
  107. 1070  LOCATE 7,68:PRINT STRING$(13,178)
  108. 1080  LOCATE 8,68:PRINT CHR$(178) " YOU  HAVE":LOCATE 8,80:PRINT CHR$(178);
  109. 1090  LOCATE 8,69:COLOR 15,0:PRINT" YOU  HAVE ";:COLOR 3,0:          
  110. 1100  LOCATE 9,68:PRINT CHR$(178):LOCATE 9,80:PRINT CHR$(178)
  111. 1110  LOCATE 10,68:PRINT CHR$(178):LOCATE 10,80:PRINT CHR$(178)
  112. 1120  LOCATE 11,68:PRINT STRING$(13,178)
  113. 1130  LOCATE 7,1:COLOR 15:PRINT STRING$(13,176)
  114. 1140  LOCATE 8,1:PRINT CHR$(176) "N E V A D A" CHR$(176)
  115. 1150  LOCATE 9,1:PRINT CHR$(176) "           " CHR$(176)
  116. 1160  LOCATE 10,1:PRINT CHR$(176) "  D I C E  " CHR$(176)
  117. 1170  LOCATE 11,1:PRINT STRING$(13,176):COLOR 3,0
  118. 1180  RETURN
  119. 1190  LOCATE 7,32:PRINT A(0);
  120. 1200  LOCATE 7,42:PRINT A(0);
  121. 1210  COLOR 15
  122. 1220  FOR B=1 TO 6
  123. 1230  SOUND 137,0.01
  124. 1240  LOCATE 7,32:C=INT(RND(1)*6)+1:PRINT A(C)
  125. 1250  SOUND 37,0
  126. 1260  RANDOMIZE(VAL(RIGHT$(TIME$,2))*RND)
  127. 1270  LOCATE 7,42:D=INT(RND(1)*6)+1:PRINT A(D)
  128. 1280  SOUND 137,0.01
  129. 1290  RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  130. 1300  SOUND 37,0
  131. 1310  NEXT
  132. 1320  COLOR 3,0
  133. 1330  RETURN
  134. 1340  A=STRING$(7,29):A3=SPACE$(7):A4=SPACE$(5):A5=SPACE$(3)
  135. 1350  A(0)=A3+CHR$(31)+A+A3+CHR$(31)+A+A3
  136. 1360  A(1)=A3+CHR$(31)+A+A5+CHR$(254)+A5+CHR$(31)+A+A3
  137. 1370  A(2)=" "+CHR$(254)+A4+CHR$(31)+A+A3+CHR$(31)+A+A4+CHR$(254)
  138. 1380  A(3)=" "+CHR$(254)+A4+CHR$(31)+A+A5+CHR$(254)+A5+CHR$(31)+A+A4+CHR$(254)
  139. 1390  A(4)=" "+CHR$(254)+A5+CHR$(254)+" "+CHR$(31)+A+A3+CHR$(31)+A+" "+CHR$(254)+A5+CHR$(254)
  140. 1400  A(5)=" "+CHR$(254)+A5+CHR$(254)+" "+CHR$(31)+A+A5+CHR$(254)+A5+CHR$(31)+A+" "+CHR$(254)+A5+CHR$(254)
  141. 1410  A(6)=" "+CHR$(254)+A5+CHR$(254)+" "+CHR$(31)+A+" "+CHR$(254)+A5+CHR$(254)+" "+CHR$(31)+A+" "+CHR$(254)+A5+CHR$(254)
  142. 1420  A1=CHR$(201)+STRING$(2,205)+CHR$(187)+CHR$(31)+STRING$(4,29)+CHR$(186)+STRING$(2,28)+CHR$(186)+CHR$(31)+STRING$(4,29)+CHR$(200)+STRING$(2,205)+CHR$(188)
  143. 1430  A2="    "+CHR$(31)+STRING$(4,29)+" "+STRING$(2,28)+" "+CHR$(31)+STRING$(4,29)+"    "
  144. 1440  RETURN
  145. 1450  CLS
  146. 1460  LOCATE 1,1:PRINT STRING$(80,219)
  147. 1470  FOR B=2 TO 22:LOCATE B,1:PRINT CHR$(219):LOCATE B,80:PRINT CHR$(219)
  148. 1480  NEXT
  149. 1490  LOCATE B,1:PRINT STRING$(80,219);
  150. 1500  LOCATE 4,30:COLOR 15,0,0:PRINT "N E V A D A   D I C E
  151. 1510  LOCATE 10,24:COLOR 15:PRINT "Would You Like Instructions? <Y/N>":COLOR 3,0
  152. 1520  A=INKEY$:IF A="N" OR A="n" THEN CLS:RETURN ELSE IF A<>"Y" AND A<>"y" THEN 1520
  153. 1530  LOCATE 2,30:COLOR 15,0:PRINT "N E V A D A   D I C E     ": COLOR 3,0
  154. 1540  LOCATE 4,10:PRINT "Friendlyware's NEVADA  DICE differs from the CASINO-STYLE game
  155. 1550  LOCATE 5,10:PRINT "in TWO ways: there  are  no  sidebets (hardways,fieldbets,etc)
  156. 1560  LOCATE 6,10:PRINT "              AND WE CAN'T TAKE ANY OF YOUR CASH
  157. 1570  LOCATE 8,10:PRINT "The  object  is  to  accumulate  money  by  throwing  as many
  158. 1580  LOCATE 9,10:PRINT "`PASSES' as  you can. A `PASS'  is a  winning  roll. A  `ROLL'
  159. 1590  LOCATE 10,10:PRINT "can be  and  usually is,  more  than  one  roll  of the  dice.
  160. 1600  LOCATE 12,10:PRINT "On your  first throw one of three things can happen: 1) You
  161. 1610  LOCATE 13,10:PRINT"will throw a `NATURAL'  7  or  11  YOU WIN, 2) You will throw
  162. 1620  LOCATE 14,10:PRINT "2, 3, 12,  YOU  LOSE  or    3) You will establish your `POINT'
  163. 1630  LOCATE 15,10:PRINT "by  throwing a  4, 5, 6, 8, 9  or 10. ( 7 and 11 are  winners
  164. 1640  LOCATE 16,10:PRINT "and  2, 3, and  12  are  losers  on  the  FIRST  throw  only).
  165. 1650  LOCATE 18,10:PRINT "You're a  winner if you  throw  your  POINT  again ";
  166. 1660  COLOR 1:PRINT "before";:COLOR 3,0:PRINT " you
  167. 1670  LOCATE 19,10:PRINT "throw a 7. You lose if you roll a 7 before rolling your POINT.
  168. 1680  LOCATE 20,10:PRINT "You may also bet  AGAINST  the dice or DON'T PASS. This means
  169. 1690  LOCATE 21,10:PRINT "you  WIN  your bet if the  DICE LOSE and LOSE if the DICE WIN.
  170. 1700  LOCATE 25,27:COLOR 15:PRINT "Strike Any Key To Continue";:COLOR 3,0
  171. 1710  A=INKEY$:IF A<>"" THEN CLS:RETURN ELSE 1710
  172. 1720  LOCATE 22,1:PRINT SPC(62):LOCATE 22,26:COLOR 15
  173. 1730  PRINT "How Many Chips?   From 1 To";H+H1*10;:COLOR 3,0
  174. 1740  A0=SPACE$(7)
  175. 1750  A=INKEY$:IF A="" THEN 1750 ELSE IF A=" " THEN G=VAL(A0):RETURN
  176. 1760  IF A=CHR$(13) THEN 1750
  177. 1770  IF LEN(A0)>10 THEN G=0:RETURN
  178. 1780  COLOR 15:LOCATE 23,30
  179. 1790  PRINT "Press Space Bar To Roll":LOCATE 22,51+LEN(A0):COLOR 3,0
  180. 1800  IF A=CHR$(8) OR MID$(A,2,1)=CHR$(75) THEN 1820
  181. 1810  A0=A0+A:PRINT A;:GOTO 1750
  182. 1820  PRINT CHR$(29) CHR$(32) CHR$(29);:A0=LEFT$(A0,LEN(A0)-1):GOTO 1750
  183. 1830  COLOR 15:LOCATE 22,26:PRINT "You Don't Have Any More Money.
  184. 1840  LOCATE 23,24:PRINT "Would You Like To Sell Your";
  185. 1850  XXX=XXX+1:ON XXX-1 GOTO 1880,1890,1900,1910,1920,1930,1940
  186. 1860  IF XXX>7 THEN XXX=0
  187. 1870  PRINT " Car?";:VV=20:GOTO 1950
  188. 1880  PRINT " Boat?";:VV=20:GOTO 1950
  189. 1890  PRINT " Computer?";:VV=20:GOTO 1950
  190. 1900  PRINT " Motorcycle?";:VV=18:GOTO 1950
  191. 1910  PRINT " Stereo?";:VV=12:GOTO 1950
  192. 1920  PRINT " Golf Clubs?";:VV=6:GOTO 1950
  193. 1930  PRINT " House?";:VV=5:GOTO 1950
  194. 1940  PRINT " Skate Board?";:VV=5:GOTO 1950
  195. 1950  PRINT " <Y/N>";:COLOR 3,0
  196. 1960  A=INKEY$
  197. 1970  IF A="Y" OR A="y" THEN 1990
  198. 1980  IF A<>"n" AND A<>"N" THEN 1960 ELSE 2050
  199. 1990  H1=0:H=VV
  200. 2000  IF H>9 THEN H1=H1+1:H=H-10:GOTO 2000
  201. 2010  LOCATE 22,15:PRINT "          OK. I'll give you $"VV*100"for it.      "
  202. 2020  LOCATE 23,1:PRINT SPC(79);
  203. 2030  FOR F=1 TO 2500:NEXT:LOCATE 22,10:PRINT SPC(50):LOCATE 23,10:PRINT SPC(54)
  204. 2040  LOCATE 10,69:COLOR 15:PRINT USING "$$#####,.##";H*100+H1*1000:GOTO 2230
  205. 2050  FOR F=1 TO 3500:NEXT:CLS:LOCATE 12,20:COLOR 15
  206. 2060  PRINT "Would You Like To Play Again? <Y/N>";:COLOR 3,0
  207. 2070  A=INKEY$:IF A="" THEN 2070
  208. 2080  IF A="Y" OR A="y" THEN RUN
  209. 2090  IF A="N" OR A="n" THEN 2190 ELSE 2070
  210. 2100  KEY(10) OFF:COLOR 15
  211. 2110  LOCATE 25,23:PRINT "Do You Wish To Leave This Game? <Y/N>";
  212. 2120  A=INKEY$:IF A="" THEN 2120;
  213. 2130  IF A="Y" OR A="y" THEN 2190 ELSE IF A<>"N" AND A<>"n" THEN 2120
  214. 2140  LOCATE 25,1:PRINT SPC(60);
  215. 2150  LOCATE 25,25:COLOR 0,15:PRINT " Strike <F10> To Leave This Game ";:COLOR 3,0
  216. 2160  LOCATE 25,68:PRINT "100's 1000's";
  217. 2170  LOCATE 23,35:PRINT SPC(10):LOCATE 23,35:A0="":A=""
  218. 2180  KEY(10) ON:RETURN
  219. 2190  END
  220. 2200  LOCATE 16,14:PRINT SPC(50)
  221. 2210  LOCATE 17,14:PRINT SPC(50)
  222. 2220  LOCATE 18,14:PRINT SPC(50)
  223. 2230  COLOR 3,0:IF H<1 THEN IF H1>0 THEN H1=H1-1:H=H+10:GOTO 2230
  224. 2240  IF H>10 THEN H1=H1+1:H=H-10:GOTO 2240
  225. 2250  COLOR 15:REM *** print chip stack ***
  226. 2260  FOR F=13 TO 23:LOCATE F,68:PRINT SPC(11):NEXT
  227. 2270  FOR F=23 TO 24-H STEP-1:LOCATE F,68:PRINT STRING$(3,223);:NEXT
  228. 2280  IF H1>12 THEN HH=12 ELSE HH=H1
  229. 2290  FOR F=23 TO 24-HH STEP-1:LOCATE F,74:PRINT STRING$(5,223);:NEXT
  230. 2300  COLOR 3,0:RETURN
  231. 2310  G1=G:G2=0:'*** DISPLAY CHIPS ON ROW ***
  232. 2320  IF G1>9 THEN G2=G2+1:G1=G1-10:GOTO 2320
  233. 2330  F2=14+P*25
  234. 2340  F=0
  235. 2350  IF F=G2 THEN 2420
  236. 2360  FOR F1=18 TO 16 STEP-1
  237. 2370   IF F=G2 THEN 2420 ELSE F=F+1
  238. 2380   LOCATE F1,5+F2:PRINT STRING$(5,223);
  239. 2390  NEXT F1
  240. 2400  F2=F2+6
  241. 2410  GOTO 2350
  242. 2420  F2=F2+6
  243. 2430  F=0
  244. 2440  IF F=G1 THEN RETURN
  245. 2450  FOR F1=18 TO 16 STEP-1
  246. 2460   IF F=G1 THEN 2490 ELSE F=F+1
  247. 2470   LOCATE F1,5+F2:PRINT STRING$(3,223);
  248. 2480  NEXT F1
  249. 2490  F2=F2+4
  250. 2500  GOTO 2440
  251. 2510  FOR F=1 TO 5:SOUND 500,1:SOUND 200,1:SOUND 150,1:NEXT
  252. 2520  CLS:LOCATE 10,26:COLOR 31:PRINT "YOU BROKE THE BANK !!!!!!!":COLOR 3,0
  253. 2530  FOR F=1 TO 10:SOUND 500,1:SOUND 200,1:SOUND 150,1:NEXT
  254. 2540  GOTO 2050
  255.